package com.ruoyi.report.domain.csv;

import com.opencsv.bean.CsvBindByName;
import com.opencsv.bean.CsvDate;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class PromotionReportCsv implements Serializable {

    /**
     * 商品SKU（库存单位）
     */
    @CsvBindByName(column = "SKU")
    private String sku;

    /**
     * 商品ID（唯一标识符）
     */
    @CsvBindByName(column = "Item ID")
    private String itemId;

    /**
     * 商品名称
     */
    @CsvBindByName(column = "Product Name")
    private String productName;

    /**
     * 商品类别
     */
    @CsvBindByName(column = "Product Category")
    private String productCategory;

    /**
     * 促销ID
     */
    @CsvBindByName(column = "Promo ID")
    private String promoId;

    /**
     * 促销生效日期
     */
    @CsvBindByName(column = "Promo Effective Date")
    @CsvDate(value = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") // 自定义日期格式
    private Date promoEffectiveDate;

    /**
     * 促销过期日期
     */
    @CsvBindByName(column = "Promo Expiration Date")
    @CsvDate(value = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") // 自定义日期格式
    private Date promoExpirationDate;

    /**
     * 促销价格
     */
    @CsvBindByName(column = "Promo Price")
    private BigDecimal promoPrice;

    /**
     * 促销价格货币单位
     */
    @CsvBindByName(column = "Promo Price Currency")
    private String promoPriceCurrency;

    /**
     * 对比价格
     */
    @CsvBindByName(column = "Comparison Price")
    private BigDecimal comparisonPrice;

    /**
     * 对比价格货币单位
     */
    @CsvBindByName(column = "Comparison Price Currency")
    private String comparisonPriceCurrency;

    /**
     * 促销类型
     */
    @CsvBindByName(column = "Promo Type")
    private String promoType;

    /**
     * 促销状态
     */
    @CsvBindByName(column = "Promo Status")
    private String promoStatus;
}
